/*!
\file AlgFloyd.h
\brief Contains declaration of AlgFloyd.
\ingroup Plugins
*/

#ifndef ALGFLOYD_H
#define ALGFLOYD_H

#include<QApplication>
#include<Graph.h>
#include<Algorithm.h>
#include<Visualizer.h>
#include<ContainerElement.h>

#define INFINITY 99999

/*!
\def INFINITY
\brief A very large number.
*/

/*!
\class AlgFloyd
\brief Implements Floyd's Algorithm.
\ingroup Plugins
*/

class AlgFloyd: public Algorithm{
public:
	AlgFloyd( Graph *g );
	//!< Constructor.
	~AlgFloyd();
	//!< Destructor.
	void run();
	//!< Algorithm is executed here.
	int cost( int i, int j, const Edge **e = 0 );
	//!< Returns the cost of Edge between Node i and j, if any, and returns this Edge in e.
private:
};

#endif 
